PIC的C语言编程里 tmp |= 0x80 tmp &= 0xf7 两个语句是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/11 11:51:06
tmp |= 0x80
tmp &= 0xf7

这两个语句不晓得是什么意思,主要是想问中间的运算符是什么意思?
有谁指点一下?

应该还有相似的语句,也请顺便说一下,谢谢

其实很简单
tmp |= 0x80 就相当于 tmp = tmp | 0x80
tmp &= 0xf7 就相当于 tmp = tmp & 0xf7
|和&分别是逻辑或和逻辑与运算符。

这种写法很常见的,举个简单的例子 a += b;
它其实就相当于a = a+b;假如原来a=1,b=2,则执行这条语句后a就变成了3,明白了没?

楼上说的是正确的
tmp |= 0x80
tmp &= 0xf7
在单片机中,这两个语句只要目的是清零位和置位位
tmp |= 0x80 相当于将tmp的最高位置1(其它位保持不变)
tmp &= 0xf7 相当于将tmp的第四位清零(其它位保持不变)